$(function () {

    var templateUl = $("#templateUl");
    /**
     * 加载列表
     */
    var loadWinnerList = function () {
        $.get("winner/list", function (templates) {
            if (templates && templates.length > 0) {
                var rendered = sys.render("#templateTemplate", {result: templates});
                $(".loading-info").remove();
                templateUl.html(rendered);
                getDefault();
            } else {
                $(".loading-info").html('<i class="fa fa-file-o mr10"></i>尚未添加中奖列表');
            }
        });
    };
    /**
     * 获取默认列表
     */
    var getDefault = function () {
        $.get("winner/getDefault", function (res) {
            if (res.success) {
                var tid = res.message;
                $("#" + tid).find("code").show();
            }
        });
    };
    var fileName = $("#fileName"),
            document = null;

    /**
     * 初始化文件上传控件
     */
    var initUploader = function () {

        var doUploadBtn = $("#doUploadBtn"),
                upload_btn_default = '保存列表',
                upload_btn_process = '<i class="fa fa-spin fa-spinner mr10"></i>上传中...';

        /**
         * 弹出文件选择框
         */
        $('#upZone').click(function () {
            $('#fileInput').click();
        });
        $('#fileInput').on("change", function (e) {
            var files = e.target.files;
            if (!files.length || !window.FileReader) {
                return; // no file selected, or no FileReader support
            }
            document = files[0];
            console.log(document);
            if (/^application\/vnd.ms-excel/.test(document.type)) {
                fileName.val(document.name.replace(".xls", ""));
                $("#imagePreview").show();
            } else {
                document = null;
                alert("文件格式不正确！请上传xls格式列表");
            }
        });
        /**
         * 保存材料：触发上传
         */
        doUploadBtn.on("click", function () {
            if (document === null) {
                alert("尚未选择列表文件");
            } else {
                $('form[name=uploadForm]').trigger('submit');
            }
        });
        /**
         *  上传文件
         */
        $('form[name=uploadForm]').on('submit', function (event) {
            event.stopPropagation();
            event.preventDefault();

            var url = 'winner/uploadFile';
            var formData = new FormData();
            formData.append("file", document);
            formData.append("name", fileName.val());
            formData.append("isDefault", $("#isDefault").prop("checked"));

            doUploadBtn.prop("disabled", true).html(upload_btn_process);

            $.ajax({
                url: url,
                data: formData,
                processData: false,
                contentType: false,
                type: 'POST',
                success: function (res) {
                    doUploadBtn.html(upload_btn_default).prop("disabled", false);
                    if (res.success) {
                        alert("列表上传成功！");
                        location.reload();
                    } else {
                        alert(res.message);
                    }
                }
            }).fail(function () {
                alert('文件上传失败：网络错误');
            });
        });
    };

    var initEvents = function () {

        var templateList = $("#templateList"),
                addTemplateBox = $("#addTemplateBox");

        /**
         * 打开添加面板
         */
        $("#add_template").on("click", function () {
            templateList.hide();
            fileName.val("");
            document = null;
            addTemplateBox.show();
        });

        /**
         * 取消上传
         */
        $("#cancelAdd").on("click", function () {
            addTemplateBox.hide();
            templateList.show();
        });

        /**
         * 设置默认列表
         */
        $("#templateUl").on("click", ".set-default-link", function (e) {
            e.preventDefault();
            e.stopPropagation();
            if (confirm("确定设置为默认列表？")) {
                var url = $(this).data("url");
                $.get(url, function (res) {
                    if (res === true) {
                        alert("设置默认列表成功");
                        location.reload();
                    } else {
                        alert("设置默认列表失败");
                    }
                });
            }
        });

        /**
         * 删除列表
         */
        $("#templateUl").on("click", ".delete-template-link", function (e) {
            e.preventDefault();
            e.stopPropagation();
            if (confirm("确定删除列表？")) {
                var url = $(this).data("url");
                $.get(url, function (res) {
                    if (res === true) {
                        alert("列表已删除");
                        location.reload();
                    } else {
                        alert("列表删除失败");
                    }
                });
            }
        });
    };

    var initPage = function () {
        initEvents();
        loadWinnerList();
        initUploader();
    };

    // 初始化页面
    initPage();
});